Accessori per il Workbench (TSR)

di Maurizio Bonomi

Una delle caratteristiche più interessanti e uniche del Workbench è la sua quasi illimitata espandibilità e configurabilità. Per quanto riguarda quest'ultima caratteristica Workbench ci fornisce molti strumenti di configurazione. Tramite le Preferences, possiamo cambiare i colori, sfondo e caratteri e con l'ausilio di un icon-editor possiamo creare nuove icone per i nostri files. Possiamo determinare, a priori, le dimensioni della finestra del Workbench e quelle dei nostri dischi, specificando se visualizzare tramite icone o tramite nomi. Riguardo all'espandibilità esistono migliaia di programmi (commerciali e non) a cui viene affidato il compito di aggiungere, modificare, patchare o estendere le principali funzioni dell'ambiente operativo. Tutto questo avviene tramite un sistema detto "commodities" che rende la vita dell'utente più facile e rilassante. Infatti ogni commodity può essere "controllata", disattivata o "quittata" in qualsiasi momento con l'ausilio dell'utility Exchange (anch'essa una commodity!). Per rendere le cose più facili, i progettisti del nostro beneamato OS hanno pensato di aggiungere un cassetto dove l'utente possa riporre le utilities che intende lanciare automaticamente al termine di ogni boot. Basta trascinare l'icona desiderata all'interno di questo cassetto e al boot successivo Amiga caricherà quella commodity automaticamente. Stiamo parlando della WBStartup, naturalmente. Esistono poi delle ulteriori caratteristiche di questa funzione come la possibilità di scegliere la modalità e la priorità di esecuzione, la hot-key di richiamo e altri parametri; tutto tramite i fatidici Tooltypes... ma questo è un'altro discorso. Infatti, con questo articolo, cercheremo di creare un ambiente operativo efficente ma poco dispendioso in termini di memoria. Esiste, appunto, una piccola controindicazione a questo tipo di espandibilità; spesso tutte queste piccole utility, messe insieme, ci "rubano" diversi bytes di preziosa memoria e, visto che si tratta ancora della periferica più costosa, forse ci conviene fare i nostri calcoli e darci una regolata. Specialmente se siamo a corto di FAST RAM !! Fra poco vedremo (secondo la nostra modesta opinione) quali sono le commodities di cui si può fare a meno e quali, invece, sono di vitale importanza. Attenzione ! Non abbiamo nessuna intenzione di influenzare le vostre scelte... siete liberi di installare nella WBStartup quello che volete. Abbiamo solo intenzione di mostrarvi come si possa ottenere il meglio con il minimo spreco di memoria. Una sorta di Workbench ottimizzato da prendere come esempio (sempre che lo riteniate all'altezza!). Per formulare i nostri giudizi abbiamo stilato un piccolo teorema basato sul rapporto fra utilità e consumo di memoria. Se il consumo di memoria è superiore all'utilità, il programma non merita di essere inserito nella nostra WBStartup. Al contrario verranno promossi tutti quei programmi (o meglio "commodities") che nonostante un notevole consumo di memoria, aggiungono delle indispensabili funzioni al nostro WB. Siamo consapevoli del fatto che un giudizio di utilità è estremamente soggettivo, ma siamo anche convinti che dei consigli possano chiarire molti dubbi o aiutare nelle scelte. A voi l'arduo compito di giudicare, provare, adottare o scartare...

Introduzione


La maggior parte di noi, qui in redazione, possiede una forte predilezione per la grafica su computer (dalla 2D al ray-tracing) e riteniamo sia uno dei cavalli di battaglia che ha portato Amiga nel settore professionale. La grafica, lo sappiamo tutti, richiede però molta, ma molta memoria. Non stiamo parlando di disegnini fatti con Deluxe Paint o delle solite sferette renderizzate con Imagine, ma di lavori di qualità professionale; immagini a 24 bit, fotoritocco, conversione di formati, animazioni 3D complesse e chi più ne ha più ne metta. Queste bellissime attività richiedono enormi quantitativi di memoria ed è per questo che dobbiamo "imparare" a sfruttarla fino all'osso senza sprecarne neanche un byte. Non valgono discorsi tipo: "Si, vabbè. Io lancio ventimila commodities ma poi, se ho bisogno di RAM, posso disattivarle tutte!". Amiga possiede alcuni piccoli difettucci (che conosciete bene) tra cui quello di permettere ai programmi dei giochetti sporchi, che spesso si traducono in frammentazione della memoria e altre noie. I programmi di grafica (2D come 3D) hanno bisogno di interi blocchi di memoria contigua; basta che una sola di quelle commodity si "dimentichi" di deallocare un byte per trovarci la RAM spezzata in due chunk... e addio Z-buffer ! E allora ci domandiamo: ne è valsa la pena ? Ecco, dunque quali sono i programmi che scarteremmo e quali, invece, riteniamo possano essere un valido complemento al nostro ambiente di lavoro.

Quali scarteremmo...


Partiamo da quei programmi che si possono definire decorativi, in quanto non aggiungono particolari funzioni ma abbelliscono delle esistenti. Uno di questi si chiama ARQ che patcha i requester di sistema aggiungendo una piccola animazione, centrandoli nello schermo e permettendo l'uso dei tasti INVIO ed ESCAPE. ARQ possiede all'interno del proprio codice tutti i dati riguardanti le animazioni e, per questo motivo, occupa molta memoria (l'ultima versione che abbiamo visto si pigliava più di 40K di RAM). Ma analizziamo l'aspetto utilità: poca, a dire il vero. Le animazioni sono carine ma inutili, la centratura del testo e l'uso dei tasti sono comodi ma 40K ci sembrano troppi per questo. Stesso discorso vale per le commodities fornite insieme al workbench (fatte da mamma-commodore) che hanno una sola funzione e si mangiano la memoria come se fosse una torta al cioccolato! Un esempio: FKey aggiunge alcune hot-key al workbench e per fare questo si ciuccia 12K di RAM. E voi penserete: "Quante storie ! Sono solo 12K !!". Certo! 12K per le hot-key, aggiunti ai 40K per i requester e magari ad altrettanti per l'AmiDOCK (uno dei primi dock tipo ToolManager) e siamo arrivati a quasi 100 K. Se avete solo 2 Mbytes di FAST vi conviene farci un pensierino su quella manciata di Kappa poco usati. Un'altro programma decorativo (di indubbia bellezza) è il famoso MagicMenu che permette di avere i POP-UP menu in aggiunta ad un accattivante look tridimensionale. Ottimo "grado di utilità" quindi. I POP-UP menu sono comodi e velocizzano molte operazioni sia sul Workbench che su altri programmi. Ma a che prezzo ? Ben 55K di memoria. Anche qui usciamo un po' dai limiti!! Inoltre MagicMenu denuncia alcuni problemi di incompatibilità con diversi programmi un po' vecchiotti che, spesso, sfociano in GURU improvvise. Una commodity che ci ha creato non pochi problemi è l'utile CycleToMenu che trasforma i gadget di tipo cycle in POP-UP menu (il "look" dei menu è pienamente configurabile). Questo bel programmino (occupa poca RAM ed è di indubbia utilità) potrebbe superare il nostro esame ma, purtroppo, delude in un campo di fondamentale importanza: la pulizia del codice. Questo programma "manda" in GURU alcuni tra i migliori monitor di sistema (tra cui il solidissimo SCOUT) appena se ne richiede una descrizione dettagliata. Ciò non ci è piaciuto affatto !! Abbiamo anche riscontrato qualche "enforcer hit" che dimostrano quanto il programma agisca in modo non molto amichevole. Ed ecco un altro parametro che può pregiudicare il giudizio finale di una utility: la non osservanza ai dettami Commodore. Lavorando in un sistema poco protetto come l'AmigaOS i programmi scritti male rischiano di diventare delle bombe nascoste di nitro-glicerina, pronte ad esplodere al minimo "urto". Purtroppo nel campo delle patch e delle commodity universali gli enforcer hit sono frequenti. Se dovessimo eliminare tutti i programmi che provocano qualche atto impuro nei confronti di AmigaOS rimarremmo con una manciata di utilities e niente più. Cercheremo, quindi, di considerare solo i casi più "sporchi". Per gli appassionati delle patch di sistema esiste un'utility decisamente ben fatta che meriterebbe di essere promossa. Non l'abbiamo fatto per un motivo ben preciso che capirete nel prossimo paragrafo... Si tratta di REQChange, una patch che permette di "correggere" tutti i requester standard (ARP, ASL, di sistema e REQ) in modo da usare quelli della ReqTools.library che risultano più efficenti e configurabili. Il pacchetto si compone di un piccolo eseguibile (StartRC; non è una commodity ma lo si può disattivare rilanciandolo) e di un programma di configurazione da inserire nel cassetto SYS:Prefs. Ottima interfaccia, configurabile fino all'ultimo byte e solido. Insomma, un programma utile e affidabile. L'unico neo (abbastanza fastidioso) è che il programma StartRC, una volta lanciato, non compare né come task né come processo. Ma dove è andato a finire ? Questo fatto non ci ha permesso di valutare con precisione l'effettivo consumo di memoria che, a occhio, pare attestarsi intorno ai 20K. Quindi, nonostante tutto quello che offre, ci pare ben ottimizzato. Non abbiamo voluto installarlo comunque a causa della nostra "mania" di volere la macchina sotto-controllo ad ogni costo. Il solo fatto che il programma denunciasse un comportamento così "criptico" nei confronti del sistema ci ha indotto a riconsiderare una sua eventuale "promozione". Se siete invece dei possessori di schede grafiche (come noi, felici utenti di Picasso-II) non potreste fare a meno di uno Screen Promotor. Questa utility (generalmente di tipo commodity) permette di crearsi un database di schermi da promuovere (ad esempio: da schermo Amiga a schermo Picasso). Nel caso di quest'ultima scheda grafica esiste un utility (usabile anche con altre schede tipo Retina o EGS) chiamata ChangeScreen che svolge, appunto questa funzione. Il verdetto è il solito: "occupazione indebita di RAM". ChangeScreen si mangia ben 38K di RAM (peraltro con il database vuoto)! Bocciato senza via di scampo! Per chi non può farne a meno diciamo di pazientare e di passare al paragrafo seguente... troverà pane per i suoi denti!

Le nostre promozioni: MCP


Ora vedremo chi, invece, ha passato il nostro esame. Ammettiamo di essere stati molto severi, ma abbiamo pensato un po' meno allo smanettone con A4000 e 18 Mb di RAM e un po' di più al povero studente con A1200 e 2 Mb di RAM. Questa ci è sembrata una PAR-CONDICIO più che accettabile! Tornando alle nostre utility il primo programma che supera a pieni voti (e si piazza in testa in quanto ad affidabilità, utilità e efficienza) è il nuovissimo MCP (l'ultima versione dovrebbe essere la 1.04). Questa sorta di commodity riunisce in sé la maggiorparte (se non tutte) le funzioni più richieste dagli amanti del super-workbench! Elencarle tutte sarebbe un po' azzardato (sono veramente tante); ci limiteremo ad indicarvi quelle più interessanti. Oltre a tutti i parametri di controllo del puntatore (velocità, accelerazione, autopoint...) troviamo anche una raccolta di patch di sistema (quante righe di user-startup risparmiate) tra cui PatchRGB32 (corregge un baco del S.O. 3.0 nella gestione della palette), NoClick (indovinate a cosa serve...), PatchOpenWB (tappa un altro buco del 3.0) e altri ancora. Non dimetichiamo poi l'utilissima patch che elimina l'immancabile attesa durante la scelta di un font (creando un file aggiornabile dove viene memorizzato il contenuto della directory FONTS:) oppure quella che protegge un device dalle formattazioni accidentali. Troviamo anche alcune "goodies" come il movimento e il resize opaco delle finestre (come i sistemi X-Windows), l'AssignWedge (se manca un assign salta fuori un requester che vi chiede di crearlo, montarlo o ignorarlo) unito al "classico" patch per i requester (da ASL,ARP,REQ a REQTOOLS), alcuni screenblanker (molto ben configurabili), uno scompattatore automatico di file "crunchati" (con PowerPacker e simili), una miriade di hotkeys tutte definibili e pure un bellissimo screen-promotor !!! Tenete conto che queste sono circa la metà delle funzioni presenti in questo programma. Chissà quanta RAM si mangia, penserete voi! Sbagliato! Tutto questo "ben di Dio" è raccolto in poco più di 48K di codice che si traduce in circa 43K di memoria occupata (byte più, byte meno)!!
Tenete conto che MCP sostituisce almeno una decina di commodity singole (che si portano dietro tutto il codice di gestione della propria interfaccia). Inoltre usa una tecnica molto intelligente; MCP è in realta composto da due eseguibili. Uno di questi va lanciato da CLI dopo il comando SetPatch (nella Startup-Sequence) ed è la commodity vera e propria. Non servono né RUN ne altri parametri in quanto MCP si stacca completamente dalla CLI da cui è stato lanciato. Il secondo eseguibile è il programma di configurazione (denominato MCPPrefs) ed è in standard MUI. Infine, è importante ricordare che MCP è completamente FREEWARE; l'autore non richiede nessun contributo e invita gli utenti a registrarsi (gratuitamente) in modo da ricevere via E-Mail gli aggiornamenti software. Chi non sa cos'è o non possiede E-Mail non si deve preoccupare in quanto non esiste alcuna differenza tra la versione registrata e quella non-registrata. Insomma, non possiamo che consigliarvelo vivamente. Noi lo abbiamo "adottato" subito !


Questa e' solo una parte dell'articolo pubblicato su Enigma Amiga Run di Settembre numero 67. E' possibile ricevere l'arretrato chiamando il numero (02)38.01.00.30 tutti i giorni dalle ore 10.00 alle 12.30